var runtime.sched

427 uses

	runtime (current package)
		cgocall.go#L421: 	hz := sched.profilehz
		debug.go#L21: 	lock(&sched.lock)
		debug.go#L23: 	unlock(&sched.lock)
		debug.go#L56: 	total := sched.totalMutexWaitTime.Load()
		debug.go#L58: 	total += sched.totalRuntimeLockWaitTime.Load()
		debugcall.go#L248: 		lock(&sched.lock)
		debugcall.go#L250: 		unlock(&sched.lock)
		lock_spinbit.go#L136: 	case &sched.lock:
		metrics.go#L321: 				sched.stwTotalTimeGC.write(out)
		metrics.go#L447: 				sched.timeToRun.write(out)
		metrics.go#L452: 				sched.stwStoppingTimeGC.write(out)
		metrics.go#L457: 				sched.stwStoppingTimeOther.write(out)
		metrics.go#L462: 				sched.stwTotalTimeGC.write(out)
		metrics.go#L467: 				sched.stwTotalTimeOther.write(out)
		mgc.go#L1131: 	sched.idleTime.Store(0)
		mgc.go#L1509: 						lock(&sched.lock)
		mgc.go#L1511: 						unlock(&sched.lock)
		mgc.go#L1826: 	lock(&sched.sudoglock)
		mgc.go#L1828: 	for sg = sched.sudogcache; sg != nil; sg = sgnext {
		mgc.go#L1832: 	sched.sudogcache = nil
		mgc.go#L1833: 	unlock(&sched.sudoglock)
		mgc.go#L1837: 	lock(&sched.deferlock)
		mgc.go#L1841: 	for d = sched.deferpool; d != nil; d = dlink {
		mgc.go#L1845: 	sched.deferpool = nil
		mgc.go#L1846: 	unlock(&sched.deferlock)
		mgclimit.go#L216: 				sched.idleTime.Add(duration)
		mgclimit.go#L477: 		sched.idleTime.Add(duration)
		mgcmark.go#L295: 	lock(&sched.gFree.lock)
		mgcmark.go#L296: 	list := sched.gFree.stack
		mgcmark.go#L297: 	sched.gFree.stack = gList{}
		mgcmark.go#L298: 	unlock(&sched.gFree.lock)
		mgcmark.go#L315: 	lock(&sched.gFree.lock)
		mgcmark.go#L316: 	sched.gFree.noStack.pushAll(q)
		mgcmark.go#L317: 	unlock(&sched.gFree.lock)
		mgcmark.go#L1181: 		for !(gp.preempt && (preemptible || sched.gcwaiting.Load() || pp.runSafePointFn != 0)) {
		mgcmark.go#L1203: 	for !(gp.preempt && (preemptible || sched.gcwaiting.Load() || pp.runSafePointFn != 0)) {
		mstats.go#L461: 		lock(&sched.sysmonlock)
		mstats.go#L501: 		unlock(&sched.sysmonlock)
		mstats.go#L975: 	s.TotalTime = sched.totaltime + (now-sched.procresizetime)*int64(gomaxprocs)
		mstats.go#L976: 	s.IdleTime += sched.idleTime.Load()
		panic.go#L524: 	if len(pp.deferpool) == 0 && sched.deferpool != nil {
		panic.go#L525: 		lock(&sched.deferlock)
		panic.go#L526: 		for len(pp.deferpool) < cap(pp.deferpool)/2 && sched.deferpool != nil {
		panic.go#L527: 			d := sched.deferpool
		panic.go#L528: 			sched.deferpool = d.link
		panic.go#L532: 		unlock(&sched.deferlock)
		panic.go#L583: 		lock(&sched.deferlock)
		panic.go#L584: 		last.link = sched.deferpool
		panic.go#L585: 		sched.deferpool = first
		panic.go#L586: 		unlock(&sched.deferlock)
		proc.go#L384: 	if !gp.preempt && sched.npidle.Load() > 0 {
		proc.go#L473: 		lock(&sched.sudoglock)
		proc.go#L475: 		for len(pp.sudogcache) < cap(pp.sudogcache)/2 && sched.sudogcache != nil {
		proc.go#L476: 			s := sched.sudogcache
		proc.go#L477: 			sched.sudogcache = s.next
		proc.go#L481: 		unlock(&sched.sudoglock)
		proc.go#L539: 		lock(&sched.sudoglock)
		proc.go#L540: 		last.next = sched.sudogcache
		proc.go#L541: 		sched.sudogcache = first
		proc.go#L542: 		unlock(&sched.sudoglock)
		proc.go#L799: 	lockInit(&sched.lock, lockRankSched)
		proc.go#L800: 	lockInit(&sched.sysmonlock, lockRankSysmon)
		proc.go#L801: 	lockInit(&sched.deferlock, lockRankDefer)
		proc.go#L802: 	lockInit(&sched.sudoglock, lockRankSudog)
		proc.go#L827: 	sched.maxmcount = 10000
		proc.go#L874: 	lock(&sched.lock)
		proc.go#L875: 	sched.lastpoll.Store(nanotime())
		proc.go#L883: 	unlock(&sched.lock)
		proc.go#L908: 	assertLockHeld(&sched.lock)
		proc.go#L919: 	if count > sched.maxmcount {
		proc.go#L920: 		print("runtime: program exceeds ", sched.maxmcount, "-thread limit\n")
		proc.go#L930: 	assertLockHeld(&sched.lock)
		proc.go#L932: 	if sched.mnext+1 < sched.mnext {
		proc.go#L935: 	id := sched.mnext
		proc.go#L936: 	sched.mnext++
		proc.go#L950: 	lock(&sched.lock)
		proc.go#L972: 	unlock(&sched.lock)
		proc.go#L1017: 	sched.nmspinning.Add(1)
		proc.go#L1018: 	sched.needspinning.Store(0)
		proc.go#L1109: 		sched.stopwait = freezeStopWait
		proc.go#L1110: 		sched.gcwaiting.Store(true)
		proc.go#L1273: 		sched.totalMutexWaitTime.Add((now - gp.trackingStamp) * gTrackingPeriod)
		proc.go#L1295: 		sched.timeToRun.record(gp.runnableTime)
		proc.go#L1575: 	lock(&sched.lock)
		proc.go#L1577: 	sched.stopwait = gomaxprocs
		proc.go#L1578: 	sched.gcwaiting.Store(true)
		proc.go#L1583: 	sched.stopwait--
		proc.go#L1594: 			sched.stopwait--
		proc.go#L1610: 		sched.stopwait--
		proc.go#L1612: 	wait := sched.stopwait > 0
		proc.go#L1613: 	unlock(&sched.lock)
		proc.go#L1619: 			if notetsleep(&sched.stopnote, 100*1000) {
		proc.go#L1620: 				noteclear(&sched.stopnote)
		proc.go#L1630: 		sched.stwStoppingTimeGC.record(startTime)
		proc.go#L1632: 		sched.stwStoppingTimeOther.record(startTime)
		proc.go#L1641: 	if sched.stopwait != 0 {
		proc.go#L1695: 	lock(&sched.lock)
		proc.go#L1703: 	sched.gcwaiting.Store(false)
		proc.go#L1704: 	if sched.sysmonwait.Load() {
		proc.go#L1705: 		sched.sysmonwait.Store(false)
		proc.go#L1706: 		notewakeup(&sched.sysmonnote)
		proc.go#L1708: 	unlock(&sched.lock)
		proc.go#L1735: 		sched.stwTotalTimeGC.record(totalTime)
		proc.go#L1737: 		sched.stwTotalTimeOther.record(totalTime)
		proc.go#L1927: 		lock(&sched.lock)
		proc.go#L1928: 		sched.nmfreed++
		proc.go#L1930: 		unlock(&sched.lock)
		proc.go#L1952: 	lock(&sched.lock)
		proc.go#L1976: 	mp.freelink = sched.freem
		proc.go#L1977: 	sched.freem = mp
		proc.go#L1978: 	unlock(&sched.lock)
		proc.go#L1981: 	sched.totalRuntimeLockWaitTime.Add(mp.mLockProfile.waitTime.Load())
		proc.go#L1990: 	lock(&sched.lock)
		proc.go#L1991: 	sched.nmfreed++
		proc.go#L1993: 	unlock(&sched.lock)
		proc.go#L2071: 	lock(&sched.lock)
		proc.go#L2072: 	if sched.safePointWait != 0 {
		proc.go#L2075: 	sched.safePointWait = gomaxprocs - 1
		proc.go#L2076: 	sched.safePointFn = fn
		proc.go#L2092: 	for p := sched.pidle.ptr(); p != nil; p = p.link.ptr() {
		proc.go#L2095: 			sched.safePointWait--
		proc.go#L2099: 	wait := sched.safePointWait > 0
		proc.go#L2100: 	unlock(&sched.lock)
		proc.go#L2133: 			if notetsleep(&sched.safePointNote, 100*1000) {
		proc.go#L2134: 				noteclear(&sched.safePointNote)
		proc.go#L2140: 	if sched.safePointWait != 0 {
		proc.go#L2149: 	lock(&sched.lock)
		proc.go#L2150: 	sched.safePointFn = nil
		proc.go#L2151: 	unlock(&sched.lock)
		proc.go#L2174: 	sched.safePointFn(p)
		proc.go#L2175: 	lock(&sched.lock)
		proc.go#L2176: 	sched.safePointWait--
		proc.go#L2177: 	if sched.safePointWait == 0 {
		proc.go#L2178: 		notewakeup(&sched.safePointNote)
		proc.go#L2180: 	unlock(&sched.lock)
		proc.go#L2218: 	if sched.freem != nil {
		proc.go#L2219: 		lock(&sched.lock)
		proc.go#L2221: 		for freem := sched.freem; freem != nil; {
		proc.go#L2250: 		sched.freem = newList
		proc.go#L2251: 		unlock(&sched.lock)
		proc.go#L2387: 	sched.ngsys.Add(-1)
		proc.go#L2454: 	gp.goid = sched.goidgen.Add(1)
		proc.go#L2465: 	sched.ngsys.Add(1)
		proc.go#L2522: 	sched.ngsys.Add(1)
		proc.go#L2561: 		lock(&sched.lock)
		proc.go#L2563: 		unlock(&sched.lock)
		proc.go#L2884: 	lock(&sched.lock)
		proc.go#L2885: 	sched.nmsys++
		proc.go#L2887: 	unlock(&sched.lock)
		proc.go#L2925: 	lock(&sched.lock)
		proc.go#L2927: 	unlock(&sched.lock)
		proc.go#L2974: 		lock(&sched.lock)
		proc.go#L2986: 				unlock(&sched.lock)
		proc.go#L3009: 		unlock(&sched.lock)
		proc.go#L3019: 			lock(&sched.lock)
		proc.go#L3027: 		unlock(&sched.lock)
		proc.go#L3056: 	if !runqempty(pp) || sched.runqsize != 0 {
		proc.go#L3072: 	if sched.nmspinning.Load()+sched.npidle.Load() == 0 && sched.nmspinning.CompareAndSwap(0, 1) { // TODO: fast atomic
		proc.go#L3073: 		sched.needspinning.Store(0)
		proc.go#L3077: 	lock(&sched.lock)
		proc.go#L3078: 	if sched.gcwaiting.Load() {
		proc.go#L3081: 		sched.stopwait--
		proc.go#L3082: 		if sched.stopwait == 0 {
		proc.go#L3083: 			notewakeup(&sched.stopnote)
		proc.go#L3085: 		unlock(&sched.lock)
		proc.go#L3089: 		sched.safePointFn(pp)
		proc.go#L3090: 		sched.safePointWait--
		proc.go#L3091: 		if sched.safePointWait == 0 {
		proc.go#L3092: 			notewakeup(&sched.safePointNote)
		proc.go#L3095: 	if sched.runqsize != 0 {
		proc.go#L3096: 		unlock(&sched.lock)
		proc.go#L3102: 	if sched.npidle.Load() == gomaxprocs-1 && sched.lastpoll.Load() != 0 {
		proc.go#L3103: 		unlock(&sched.lock)
		proc.go#L3112: 	unlock(&sched.lock)
		proc.go#L3135: 	if sched.nmspinning.Load() != 0 || !sched.nmspinning.CompareAndSwap(0, 1) {
		proc.go#L3147: 	lock(&sched.lock)
		proc.go#L3150: 		if sched.nmspinning.Add(-1) < 0 {
		proc.go#L3153: 		unlock(&sched.lock)
		proc.go#L3161: 	unlock(&sched.lock)
		proc.go#L3219: 	if !sched.gcwaiting.Load() {
		proc.go#L3226: 		if sched.nmspinning.Add(-1) < 0 {
		proc.go#L3231: 	lock(&sched.lock)
		proc.go#L3234: 	sched.stopwait--
		proc.go#L3235: 	if sched.stopwait == 0 {
		proc.go#L3236: 		notewakeup(&sched.stopnote)
		proc.go#L3238: 	unlock(&sched.lock)
		proc.go#L3274: 	hz := sched.profilehz
		proc.go#L3301: 	if sched.gcwaiting.Load() {
		proc.go#L3341: 	if pp.schedtick%61 == 0 && sched.runqsize > 0 {
		proc.go#L3342: 		lock(&sched.lock)
		proc.go#L3344: 		unlock(&sched.lock)
		proc.go#L3366: 	if sched.runqsize != 0 {
		proc.go#L3367: 		lock(&sched.lock)
		proc.go#L3369: 		unlock(&sched.lock)
		proc.go#L3382: 	if netpollinited() && netpollAnyWaiters() && sched.lastpoll.Load() != 0 {
		proc.go#L3402: 	if mp.spinning || 2*sched.nmspinning.Load() < gomaxprocs-sched.npidle.Load() {
		proc.go#L3475: 	lock(&sched.lock)
		proc.go#L3476: 	if sched.gcwaiting.Load() || pp.runSafePointFn != 0 {
		proc.go#L3477: 		unlock(&sched.lock)
		proc.go#L3480: 	if sched.runqsize != 0 {
		proc.go#L3482: 		unlock(&sched.lock)
		proc.go#L3485: 	if !mp.spinning && sched.needspinning.Load() == 1 {
		proc.go#L3488: 		unlock(&sched.lock)
		proc.go#L3495: 	unlock(&sched.lock)
		proc.go#L3536: 		if sched.nmspinning.Add(-1) < 0 {
		proc.go#L3551: 		lock(&sched.lock)
		proc.go#L3552: 		if sched.runqsize != 0 {
		proc.go#L3559: 				unlock(&sched.lock)
		proc.go#L3565: 		unlock(&sched.lock)
		proc.go#L3601: 	if netpollinited() && (netpollAnyWaiters() || pollUntil != 0) && sched.lastpoll.Swap(0) != 0 {
		proc.go#L3602: 		sched.pollUntil.Store(pollUntil)
		proc.go#L3626: 		sched.pollUntil.Store(0)
		proc.go#L3627: 		sched.lastpoll.Store(now)
		proc.go#L3634: 		lock(&sched.lock)
		proc.go#L3636: 		unlock(&sched.lock)
		proc.go#L3660: 		pollerPollUntil := sched.pollUntil.Load()
		proc.go#L3674: 	if sched.runqsize != 0 {
		proc.go#L3681: 	if netpollinited() && netpollAnyWaiters() && sched.lastpoll.Load() != 0 {
		proc.go#L3707: 			if sched.gcwaiting.Load() {
		proc.go#L3774: 			lock(&sched.lock)
		proc.go#L3778: 				unlock(&sched.lock)
		proc.go#L3781: 			unlock(&sched.lock)
		proc.go#L3841: 	lock(&sched.lock)
		proc.go#L3844: 		unlock(&sched.lock)
		proc.go#L3851: 		unlock(&sched.lock)
		proc.go#L3858: 		unlock(&sched.lock)
		proc.go#L3863: 	unlock(&sched.lock)
		proc.go#L3872: 	if sched.lastpoll.Load() == 0 {
		proc.go#L3877: 		pollerPollUntil := sched.pollUntil.Load()
		proc.go#L3896: 	nmspinning := sched.nmspinning.Add(-1)
		proc.go#L3946: 			lock(&sched.lock)
		proc.go#L3950: 				unlock(&sched.lock)
		proc.go#L3956: 			unlock(&sched.lock)
		proc.go#L3963: 		lock(&sched.lock)
		proc.go#L3965: 		unlock(&sched.lock)
		proc.go#L3970: 	npidle := int(sched.npidle.Load())
		proc.go#L3980: 		lock(&sched.lock)
		proc.go#L3982: 		unlock(&sched.lock)
		proc.go#L4059: 	if sched.disable.user && !schedEnabled(gp) {
		proc.go#L4063: 		lock(&sched.lock)
		proc.go#L4067: 			unlock(&sched.lock)
		proc.go#L4069: 			sched.disable.runnable.pushBack(gp)
		proc.go#L4070: 			sched.disable.n++
		proc.go#L4071: 			unlock(&sched.lock)
		proc.go#L4188: 	lock(&sched.lock)
		proc.go#L4190: 	unlock(&sched.lock)
		proc.go#L4341: 		sched.ngsys.Add(-1)
		proc.go#L4507: 	if sched.sysmonwait.Load() {
		proc.go#L4524: 	if sched.gcwaiting.Load() {
		proc.go#L4556: 	lock(&sched.lock)
		proc.go#L4557: 	if sched.sysmonwait.Load() {
		proc.go#L4558: 		sched.sysmonwait.Store(false)
		proc.go#L4559: 		notewakeup(&sched.sysmonnote)
		proc.go#L4561: 	unlock(&sched.lock)
		proc.go#L4568: 	lock(&sched.lock)
		proc.go#L4570: 	if sched.stopwait > 0 && atomic.Cas(&pp.status, _Psyscall, _Pgcstop) {
		proc.go#L4586: 		if sched.stopwait--; sched.stopwait == 0 {
		proc.go#L4587: 			notewakeup(&sched.stopnote)
		proc.go#L4592: 	unlock(&sched.lock)
		proc.go#L4745: 		if sched.disable.user && !schedEnabled(gp) {
		proc.go#L4772: 	if sched.stopwait == freezeStopWait {
		proc.go#L4792: 	if sched.pidle != 0 {
		proc.go#L4828: 	lock(&sched.lock)
		proc.go#L4830: 	if pp != nil && sched.sysmonwait.Load() {
		proc.go#L4831: 		sched.sysmonwait.Store(false)
		proc.go#L4832: 		notewakeup(&sched.sysmonnote)
		proc.go#L4834: 	unlock(&sched.lock)
		proc.go#L4863: 	lock(&sched.lock)
		proc.go#L4878: 	} else if sched.sysmonwait.Load() {
		proc.go#L4879: 		sched.sysmonwait.Store(false)
		proc.go#L4880: 		notewakeup(&sched.sysmonnote)
		proc.go#L4882: 	unlock(&sched.lock)
		proc.go#L5101: 		sched.ngsys.Add(1)
		proc.go#L5135: 		pp.goidcache = sched.goidgen.Add(_GoidCacheBatch)
		proc.go#L5232: 		lock(&sched.gFree.lock)
		proc.go#L5233: 		sched.gFree.noStack.pushAll(noStackQ)
		proc.go#L5234: 		sched.gFree.stack.pushAll(stackQ)
		proc.go#L5235: 		sched.gFree.n += inc
		proc.go#L5236: 		unlock(&sched.gFree.lock)
		proc.go#L5244: 	if pp.gFree.empty() && (!sched.gFree.stack.empty() || !sched.gFree.noStack.empty()) {
		proc.go#L5245: 		lock(&sched.gFree.lock)
		proc.go#L5249: 			gp := sched.gFree.stack.pop()
		proc.go#L5251: 				gp = sched.gFree.noStack.pop()
		proc.go#L5256: 			sched.gFree.n--
		proc.go#L5260: 		unlock(&sched.gFree.lock)
		proc.go#L5316: 	lock(&sched.gFree.lock)
		proc.go#L5317: 	sched.gFree.noStack.pushAll(noStackQ)
		proc.go#L5318: 	sched.gFree.stack.pushAll(stackQ)
		proc.go#L5319: 	sched.gFree.n += inc
		proc.go#L5320: 	unlock(&sched.gFree.lock)
		proc.go#L5435: 	n := int32(atomic.Loaduintptr(&allglen)) - sched.gFree.n - sched.ngsys.Load()
		proc.go#L5449: 	return int32(sched.mnext - sched.nmfreed)
		proc.go#L5617: 	lock(&sched.lock)
		proc.go#L5618: 	sched.profilehz = hz
		proc.go#L5619: 	unlock(&sched.lock)
		proc.go#L5671: 	assertLockHeld(&sched.lock)
		proc.go#L5749: 	assertLockHeld(&sched.lock)
		proc.go#L5764: 	if sched.procresizetime != 0 {
		proc.go#L5765: 		sched.totaltime += int64(old) * (now - sched.procresizetime)
		proc.go#L5767: 	sched.procresizetime = now
		proc.go#L5976: 	lock(&sched.lock)
		proc.go#L5977: 	sched.nmidlelocked += v
		proc.go#L5981: 	unlock(&sched.lock)
		proc.go#L5988: 	assertLockHeld(&sched.lock)
		proc.go#L6016: 	run := mcount() - sched.nmidle - sched.nmidlelocked - sched.nmsys
		proc.go#L6021: 		print("runtime: checkdead: nmidle=", sched.nmidle, " nmidlelocked=", sched.nmidlelocked, " mcount=", mcount(), " nmsys=", sched.nmsys, "\n")
		proc.go#L6022: 		unlock(&sched.lock)
		proc.go#L6040: 			unlock(&sched.lock)
		proc.go#L6045: 		unlock(&sched.lock) // unlock so that GODEBUG=scheddetail=1 doesn't hang
		proc.go#L6059: 				unlock(&sched.lock)
		proc.go#L6066: 				unlock(&sched.lock)
		proc.go#L6072: 			sched.nmspinning.Add(1)
		proc.go#L6087: 	unlock(&sched.lock) // unlock so that GODEBUG=scheddetail=1 doesn't hang
		proc.go#L6111: 	lock(&sched.lock)
		proc.go#L6112: 	sched.nmsys++
		proc.go#L6114: 	unlock(&sched.lock)
		proc.go#L6147: 		if debug.schedtrace <= 0 && (sched.gcwaiting.Load() || sched.npidle.Load() == gomaxprocs) {
		proc.go#L6148: 			lock(&sched.lock)
		proc.go#L6149: 			if sched.gcwaiting.Load() || sched.npidle.Load() == gomaxprocs {
		proc.go#L6153: 					sched.sysmonwait.Store(true)
		proc.go#L6154: 					unlock(&sched.lock)
		proc.go#L6165: 					syscallWake = notetsleep(&sched.sysmonnote, sleep)
		proc.go#L6169: 					lock(&sched.lock)
		proc.go#L6170: 					sched.sysmonwait.Store(false)
		proc.go#L6171: 					noteclear(&sched.sysmonnote)
		proc.go#L6178: 			unlock(&sched.lock)
		proc.go#L6181: 		lock(&sched.sysmonlock)
		proc.go#L6191: 		lastpoll := sched.lastpoll.Load()
		proc.go#L6193: 			sched.lastpoll.CompareAndSwap(lastpoll, now)
		proc.go#L6253: 		unlock(&sched.sysmonlock)
		proc.go#L6313: 			if runqempty(pp) && sched.nmspinning.Load()+sched.npidle.Load() > 0 && pd.syscallwhen+10*1000*1000 > now {
		proc.go#L6406: 	lock(&sched.lock)
		proc.go#L6407: 	print("SCHED ", (now-starttime)/1e6, "ms: gomaxprocs=", gomaxprocs, " idleprocs=", sched.npidle.Load(), " threads=", mcount(), " spinningthreads=", sched.nmspinning.Load(), " needspinning=", sched.needspinning.Load(), " idlethreads=", sched.nmidle, " runqueue=", sched.runqsize)
		proc.go#L6409: 		print(" gcwaiting=", sched.gcwaiting.Load(), " nmidlelocked=", sched.nmidlelocked, " stopwait=", sched.stopwait, " sysmonwait=", sched.sysmonwait.Load(), "\n")
		proc.go#L6441: 		unlock(&sched.lock)
		proc.go#L6483: 	unlock(&sched.lock)
		proc.go#L6492: 	lock(&sched.lock)
		proc.go#L6493: 	if sched.disable.user == !enable {
		proc.go#L6494: 		unlock(&sched.lock)
		proc.go#L6497: 	sched.disable.user = !enable
		proc.go#L6499: 		n := sched.disable.n
		proc.go#L6500: 		sched.disable.n = 0
		proc.go#L6501: 		globrunqputbatch(&sched.disable.runnable, n)
		proc.go#L6502: 		unlock(&sched.lock)
		proc.go#L6503: 		for ; n != 0 && sched.npidle.Load() != 0; n-- {
		proc.go#L6507: 		unlock(&sched.lock)
		proc.go#L6516: 	assertLockHeld(&sched.lock)
		proc.go#L6518: 	if sched.disable.user {
		proc.go#L6530: 	assertLockHeld(&sched.lock)
		proc.go#L6532: 	mp.schedlink = sched.midle
		proc.go#L6533: 	sched.midle.set(mp)
		proc.go#L6534: 	sched.nmidle++
		proc.go#L6544: 	assertLockHeld(&sched.lock)
		proc.go#L6546: 	mp := sched.midle.ptr()
		proc.go#L6548: 		sched.midle = mp.schedlink
		proc.go#L6549: 		sched.nmidle--
		proc.go#L6560: 	assertLockHeld(&sched.lock)
		proc.go#L6562: 	sched.runq.pushBack(gp)
		proc.go#L6563: 	sched.runqsize++
		proc.go#L6572: 	assertLockHeld(&sched.lock)
		proc.go#L6574: 	sched.runq.push(gp)
		proc.go#L6575: 	sched.runqsize++
		proc.go#L6585: 	assertLockHeld(&sched.lock)
		proc.go#L6587: 	sched.runq.pushBackAll(*batch)
		proc.go#L6588: 	sched.runqsize += n
		proc.go#L6595: 	assertLockHeld(&sched.lock)
		proc.go#L6597: 	if sched.runqsize == 0 {
		proc.go#L6601: 	n := sched.runqsize/gomaxprocs + 1
		proc.go#L6602: 	if n > sched.runqsize {
		proc.go#L6603: 		n = sched.runqsize
		proc.go#L6612: 	sched.runqsize -= n
		proc.go#L6614: 	gp := sched.runq.pop()
		proc.go#L6617: 		gp1 := sched.runq.pop()
		proc.go#L6659: 	assertLockHeld(&sched.lock)
		proc.go#L6671: 	pp.link = sched.pidle
		proc.go#L6672: 	sched.pidle.set(pp)
		proc.go#L6673: 	sched.npidle.Add(1)
		proc.go#L6688: 	assertLockHeld(&sched.lock)
		proc.go#L6690: 	pp := sched.pidle.ptr()
		proc.go#L6698: 		sched.pidle = pp.link
		proc.go#L6699: 		sched.npidle.Add(-1)
		proc.go#L6716: 	assertLockHeld(&sched.lock)
		proc.go#L6723: 		sched.needspinning.Store(1)
		proc.go#L6842: 	lock(&sched.lock)
		proc.go#L6844: 	unlock(&sched.lock)
		proc.go#L6876: 		lock(&sched.lock)
		proc.go#L6878: 		unlock(&sched.lock)
		proc.go#L7129: 	lock(&sched.lock)
		proc.go#L7130: 	out = int(sched.maxmcount)
		proc.go#L7132: 		sched.maxmcount = 0x7fffffff
		proc.go#L7134: 		sched.maxmcount = int32(in)
		proc.go#L7137: 	unlock(&sched.lock)
		proc.go#L7212: 	if i >= active_spin || ncpu <= 1 || gomaxprocs <= sched.npidle.Load()+sched.nmspinning.Load()+1 {
		runtime2.go#L1198: 	sched      schedt
		trace.go#L228: 	lock(&sched.sysmonlock)
		trace.go#L305: 	unlock(&sched.sysmonlock)
		trace.go#L490: 	lock(&sched.lock)
		trace.go#L495: 	for mp := sched.freem; mp != nil; mp = mp.freelink {
		trace.go#L499: 	unlock(&sched.lock)
		traceruntime.go#L682: 	assertLockHeld(&sched.lock)